package com.tensquare.friend.service;

import com.tensquare.friend.dao.FriendDao;
import com.tensquare.friend.dao.NoFriendDao;
import com.tensquare.friend.pojo.Friend;
import com.tensquare.friend.pojo.NoFriend;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

/**
 * @Auther: hjk
 * @Date: 2019/6/23 11:45
 * @Description:
 */
@Service
@Transactional
public class FriendService {

    @Autowired
    private FriendDao friendDao;

    @Autowired
    private NoFriendDao noFriendDao;

    /**
     * 添加好友
     * @param userId
     * @param friendId
     * @return
     */
    public int addFriend(String userId, String friendId) {
        // 判断是否已经添加好友
        Friend friend = friendDao.findByUserIdAndFriendId(userId, friendId);
        if(friend != null){
            return 0;//已经添加
        }
        // 添加好友 单向喜欢，type = 0
        friend = new Friend(userId,friendId,"0");
        friendDao.save(friend);
        // 有数据，双向喜欢，type = 1
        if(friendDao.findByUserIdAndFriendId(friendId,userId) != null){
            friendDao.updateIsLike("1",userId,friendId);
            friendDao.updateIsLike("1",friendId,userId);
        }
        return 1;
    }

    public int addNoFriend(String userId, String friendId) {
        // 判断是否已经是非好友
        NoFriend noFriend = noFriendDao.findByUserIdAndFriendId(userId, friendId);
        if(noFriend != null){
            return 0;
        }
        noFriend = new NoFriend();
        noFriend.setUserId(userId);
        noFriend.setFriendId(friendId);
        noFriendDao.save(noFriend);
        return 1;
    }

    public void deleteFriend(String userId, String friendId) {
        // 删除
        friendDao.deleteFriend(userId,friendId);
        //跟新
        friendDao.updateIsLike("0",friendId,userId);
        //非好友添加数据
        NoFriend noFriend = new NoFriend();
        noFriend.setFriendId(friendId);
        noFriend.setUserId(userId);
        noFriendDao.save(noFriend);
    }
}
